iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
自我挑戰組

呼蛇容易遣蛇難,要就當大蟒蛇!一起來Python吧 !系列 第 14

Day 14 Python 文字檔案的讀取和儲存

  • 分享至 

  • xImage
  •  

讀取儲存文字檔案

檔案操作三流程:
開啟檔案>讀取或寫入>關閉檔案


基本語法:

*開啟檔案:
檔案物件=open(檔案路徑,mode=開啟模式)


*開啟模式:

讀取:r
寫入:w
讀寫:r+

*讀取全部文字
檔案物件.read()


一次讀取一行

for 變數 in 檔案物件:
    從檔案依序讀取每行文字到變數中

*讀取json格式
用途:網路上交換資料或儲存一些設定檔

import json 
讀取到的資料=json.load(檔案物件)

*寫入文字(儲存

檔案物件.write(字串)


*寫入換行符號(\n)

檔案物件.write("這是範例文字\n")

*寫入json

import json
json.dump(要寫入的資料,檔案物件)

關閉檔案
釋放檔案空間

*基本語法

檔案物件.close()

*最佳實務

with open(檔案路徑,mode=開啟模式)as 檔案物件:
    讀取或寫入檔案的程式
    
#用檔案物件去操作檔案

以上區塊會自動且安全的關閉檔案
使用這個就不用另外寫close()語法了


範例:

開啟檔案


#專案資料夾中新建一個data.txt檔案開啟並寫入:Hello File
file=open("data.txt",mode="w")  #開啟檔案
file.write("Hello File")      #操作檔案
file.close()                  #關閉檔案

備註:
要開啟"中文內容"的檔案的話:可以指定編碼
File=open("data.txt",mode="w",encoding=utf-8)


*換行(\n)

file=open("data.txt",mode="w")  
file.write("Ha Ha\nLaLa")          #\n 換行
file.close() 

*覆蓋

同一個檔案打開再重新寫入會有"覆蓋"的效果

原資料為:
Hello File

新資料覆蓋舊資料後
data.txt檔案內容為:

Ha Ha
LaLa

最佳實務

新寫法

with open("data.txt",mode="w",encoding="utf-8") as file:
    file.write("哈樓\n你好嗎")
    


原寫法

file=open("data.txt",mode="w",encoding="utf-8") #開啟檔案
file.rite("哈樓\n你好嗎")      #操作檔案
file.close()                  #關閉檔案

讀取檔案
(已存在的檔案)

利用變數來操作檔案物件:

#把檔案讀出來的結果,並且放進變數data中,印出來

with open("data.txt",mode="w",encoding="utf-8") as file:
    data=file.read()
print(data)

*使用 file.read()
直接讀取整個檔案

圖片

with open("data.txt",mode="w",encoding=utf-8) as file:
    data=file.write("2\n3")
print(data)


#2
#3



*使用For...in...迴圈:
把資料一行一行讀取,一行一行印出來
計算總和


sum=0

with open("data.txt",mode="w",encoding="utf-8") as file:
    for line in file:    #設變數line
        sum+=int(line)     #本來是字串型態,要改成整數型態,然後加總
print(sum)




上一篇
Day 13 Python Package 封包的設計與使用
下一篇
Day 15
系列文
呼蛇容易遣蛇難,要就當大蟒蛇!一起來Python吧 !30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言